题目描述编写程序实现“剪刀,石头,布”游戏。在这个游戏中,两个人同时说“剪刀”,“石头”或“布”,压过另一方的为胜者。规则是:“布”胜过“石头”,“石头”胜过“剪刀”,“剪刀”胜过“布”。要求:选择结构中使用枚举类型,结果的输出也使用枚举类型表示。
输入:两个数,范围为{0,1,2},用空格隔开。0表示石头,1表示布,2表示剪刀。这两个数分别表示两个人所说的物品。
输出:如果前者赢,输出1。如果后者赢,输出-1。如果是平局,输出0。
#include<bits/stdc++.h>using namespace std;int main(){ int a,b; while(scanf(“%d %d”,&a,&b)!=EOF){ if(a==b){ cout<<”0”<<endl; } else if(a==0&&b==2a==1&&a...
题目描述在main函数中输入10个不等长的字符串,另外写一个函数对它们按字典序从小到大排序。并在main函数中输出这10个已经排好序的字符串。
输入共有10行,每行一个字符串。输入保证每行的字符串长度不超过100个字符。请注意字符串中有可能包含空格。
输出与输入格式相同,每行输出一个排好序之后的字符串。请注意行尾输出换行。
#include<bits/stdc++.h>using namespace std;static void ranks(char* p){ int i, j, k = 0; char temp[50]; for (i = 0; i < 9; i++) { k = i; for (j = i + 1; j < 10; j++) if (strcmp(p + k * 50, p + j * 50) > 0) k = j; if (k != i) ...
题目描述从键盘上输入10个整数,用冒泡法对这10个数进行排序(由小到大)。
输入以空格分隔的10个整数
输出依次输出排好序的10个整数,每个数占一行。
#include<bits/stdc++.h>using namespace std;int main() { int a[10]; int i,j,t; for(i=0; i<10; i++) scanf(“%d”,&a[i]); for(j=0; j<9; j++) for(i=0; i<9-j; i++) if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } for(i=0; i<10; i++) printf(“%d “,a[i]);}
给定秒数计算小时分钟(时间转换)题目描述给定一个以秒为单位的时间t,要求用 “< H> :< M> :< S> ”的格式来表示这个时间。< H> 表示时间,< M> 表示分钟, 而< S> 表示秒,它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:1:1”。输入输入只有一行,是一个整数t(0< =t< =86399)。输出输出只有一行,是以“< H> :< M> :< S> ”的格式所表示的时间,不包括引号。11 2 3 4 5 6 7 8 9 10 11
12345678910#include<bits/stdc++.h> using namespace std;int main(){ int h, m,s,x; scanf("%d",&x); h=x/3600; m=(x...
题目描述Hey, welcome to ahstu oj.In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + … + n.
输入The input will consist of a series of integers n, one integer per line.
输出For each case, output SUM(n) in one line. You may assume the result will be in the range of 32-bit signed integer.
#include<bits/stdc++.h>int main(){ int n; while(scanf(“%d”,&n)!=EOF){cout<<(1+n)*n/2<<endl;} return 0;}
题目描述读入一些字符串,将其中的小写字母转成大写字母(其他字符不变)。
输入输入为多行,每行为一个字符串,字符串只由字母和数字组成,长度不超过80。
输出对于每行输入,输出转换后的字符串。
#include<bits/stdc++.h>using namespace std;int main() { string a; int b, i; while (cin >> a) { b = a.length(); for (i = 0; i < b; i++) { if (a[i] >= ‘a’ && a[i] <= ‘z’) { a[i] = a[i] - 32; } } cout << a << endl; }
return 0;
}
题目描述安徽科技学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上仅标识了此处是否是水池,现在,你的任务来了,请用计算机算出该地图中共有几个水池。
输入第一行输入一个整数N,表示共有N组测试数据每一组数据都是先输入该地图的行数n$(0<n<100)$与列数m$(0<m<100)$,然后,输入接下来的m行每行输入n个数,表示此处有水还是没水(1表示此处是水池,0表示此处是地面)
输出输出该地图中水池的个数。
要注意,每个水池的旁边(上下左右四个位置)如果还是水池的话的话,它们可以看做是同一个水池。
样例输入123456789101123 41 0 0 0 0 0 1 11 1 1 05 51 1 1 1 00 0 1 0 10 0 0 0 01 1 1 0 00 0 1 1 1
样例输出1223
题解1234567891011121314151617181920212223242526272829303132333435363738394041424344#include<iostream>...
题目描述最近Kingly对编码很感兴趣,于是从网上找了一些编码原则来对字符串做实验。因为Kingly一直很忙,所以希望你这位编程高手来替他解决这个问题。下面是编码原则:(1) 如果访问到字符A,W,F就转化成I;(2) 如果访问到字符C,M,S就分别转化成L,o,v;(3) 如果访问到字符D,P,G,B就转化成e;(4) 如果访问到字符L,X就分别转化成Y,u;(5) 其他字符均保持不变;(6) 遇到END就结束!
#include<bits/stdc++.h>using namespace std;int main(void) { string a; int b, i; while (getline(cin, a)) { b = a.length(); for (i = 0; i < b; i++) { if (a[i] == ‘E’ && a[i + 1] == ‘N’ && a[i + 2...
题目描述
Fibonacci数列的特点:第1,2个数为1,1。从第3个数开始,概述是前面两个数之和。即:
要求输出Fibonacci数列的前20个数。
输入无
输出Fibonacci数列的前20个数,每个数占一行。
题解12345678#include<iostream>using namespace std;int main() { int f[20] = {1, 1}; for (int n = 2; n < 20; n++) { f[n] = f[n - 1] + f[n - 2]; } for (int i = 0; i < 20; i++) { cout << f[i] << endl; } return 0;}
题目描述Your task is to calculate the sum of some integers.
输入Input contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and then M integers follow in the same line.
输出For each group of input integers you should output their sum in one line, and with one line of output for each line in input.
#include<bits/stdc++.h>using namespace std;int main(){ int n,sum=0,a; while(scanf(“%d”,&n)!=EOF){ while(n>0){ ...